package com.woniuxy.mapper;

import com.woniuxy.entity.*;
import com.woniuxy.entity.dto.NormalOrderDTO;
import com.woniuxy.entity.dto.NormalOrderDTO2;
import com.woniuxy.entity.dto.VehicleModelDTO;
import com.woniuxy.entity.dto.WaybillDTO;

import java.util.List;
import java.util.Map;

public interface WaybillMapper {
    /**
     * 查询运单记录表
     */
    List<WaybillDTO> queryWaybill(WaybillDTO waybillDTO);

    WaybillDTO queryBasicDetail(String id);//运单详情页面查询基本信息
    WaybillDTO querySendDetail(String id);//运单详情页面承运商信息

    List<NormalOrderDTO2> queryGoodsDetail(String id);//查询货物信息

    List<LogisticsPartner> queryAllLogisticsPartner();      //查询所有承运商下拉框

    LogisticsPartner queryById(String id);// 根据承运商Id查询联系人和电话
    List<DriverManagement> queryDriver();      //查询所有司机下拉框状态为未分配和在启用
    DriverManagement queryDriverById(String id);// 根据司机Id查询手机号
    List<Vehicle> queryCar(String id);      //根据司机id查询所有车牌号下拉框

    VehicleModel queryCarById(String id);  //根据车牌号查询对应车型车长

    LogisticsPartner queryDispatch(String id);//承运商回显

    DriverManagement queryD(String id);//回显司机信息

    VehicleModelDTO queryC(String id);//回显车牌相关信息

    Waybill queryDate(String id); //分配页面回显时间

    NormalOrder queryNormalOrder(String id);//根据运单号查询订单信息

    VehicleModel queryVehicleModel(String id); //根据车牌对应id

    void updateWaybill(Waybill waybill);// 分配承运商信息

    Vehicle queryVehicleById(String id);//根据车牌对应id查车型id

    void updateNormalOrderStatus(String id);//修改订单表状态
    void updateDriverStatus(String id); //修改司机状态 0
    void updateDriverStatus1(String id); //修改司机状态 1
    Waybill queryWaybillStatus(String id); //查询状态在范围内的运单

    void CancelupdateWaybill(Waybill waybill); //解绑承运商,司机，车俩，修改状态为已取消

    NormalOrder queryNormalOrderById(String id);//根据运单号查询订单号
    void updateNormalOrderStatus2(String id); //修改订单状态为0
    void  deletePickupOrderId( String id);     //删除提货单id
    void batchDel(List<String> ids,String finalPoweruserId);//批量解绑

    void  batchUpdateNormalOrderStatus2(List<String> ids);   //批量修改订单状态为0
    void batchDeletePickupOrderId(List<String> ids); //批量删除提货单id

    Waybill queryWaybillById(String id); //根据id查询运单所有信息

    void addPickupOrder(PickupOrder pickupOrder);//添加提货单信息



    List<Map<String, Object>> queryException2(Map<String, Object> params);



}
